package com.oig.sys.workflow.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

@Schema
@Getter
@Setter
@ToString
public class FlowInstanceVo {

	@Schema(description = "ID")
	private Integer id;

	@Schema(description = "流程配置id")
	private Integer flowConfigId;
	@Schema(description = "流程编码")
	private String flowCode;
	@Schema(description = "流程名称")
	private String flowName;
	@Schema(description = "系统编码")
	private String sysCode;
	@Schema(description = "业务编码")
	private String bizType;

	@Schema(description = "业务单号")
	private String bizId;
	@Schema(description = "审批表单json数据")
	private String flowData;
	@Schema(description = "状态")
	private String status;
	@Schema(description = "提交次数")
	private Integer flowReqNum;
	@Schema(description = "最后提交时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date flowReqTime;
	@Schema(description = "提交返回的异常提示")
	private String flowReqMsg;
	@Schema(description = "流程实例id")
	private String flowInstanceId;

	@Schema(description = "流程实例状态")
	private String flowInstanceStatus;
	@Schema(description = "通知回调状态")
	private String notifyStatus;
	@Schema(description = "通知回调次数")
	private Integer notifyNum;
	@Schema(description = "通知回调时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date lastNotifyTime;
	@Schema(description = "通知回调内容")
	private String lastNotifyContent;

	@Schema(description = "创建人id")
	private Integer createUserId;
	@Schema(description = "创建人工号")
	private String createUserCode;
	@Schema(description = "创建人")
	private String createUserName;
	@Schema(description = "创建时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createTime;
	@Schema(description = "最后更新人id")
	private Integer lastUpdateId;
	@Schema(description = "最后更新人工号")
	private String lastUpdateCode;
	@Schema(description = "最后更新人")
	private String lastUpdateName;
	@Schema(description = "最后更新时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date lastUpdateTime;

	@Schema(description = "版本号")
	private Integer version;

	@Schema(description = "所属租户id")
	private Integer tenantId;
	@Schema(description = "所属租户名称")
	private String tenantName;

}
